/************************************************************************
 * <br>
 * <ul>
 * <li>版权所有：唐山弘川科技有限公司 2009－2020</li>
 * <li>创建日期：2009-8-10</li>
 * <li>初始作者：刘川</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 ***********************************************************************/
package com.hy.enterprise.framework.persistence.domain.query.conditions ;

import com.hy.enterprise.framework.persistence.domain.query.ISubQuery;
import com.hy.enterprise.framework.persistence.domain.query.internal.managedobjects.LibraManagedObject;

/**
 * <ul>
 * <li>设计作者：刘川</li>
 * <li>设计日期：2009-8-10</li>
 * <li>设计时间：下午03:18:40</li>
 * <li>设计目的：</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 */
public class AllOrAny < S > extends LibraManagedObject
{
	private final AllOrAnyOperator	operator ;

	private final ISubQuery < S >	subquery ;

	/**
	 * 构造函数
	 * 
	 * @param allOrAnyOperator
	 * @param subquery
	 */
	public AllOrAny (
	                  AllOrAnyOperator allOrAnyOperator ,
	                  ISubQuery < S > subquery )
	{
		this.operator =
		                allOrAnyOperator ;
		this.subquery =
		                subquery ;
	}

	/**
	 * @see com.hy.enterprise.framework.persistence.domain.query.internal.managedobjects.LibraManagedObject#getTargetRepresentation()
	 */
	@ Override
	public String getTargetRepresentation ( )
	{
		return this.operator
		                    .getStringRepresentation ( )
		       + " ("
		       + this.subquery
		                      .toString ( )
		       + ")" ;
	}
}
